package cm.tl.pms.entity;

import cm.tl.pms.common.annotation.Excel;
import cm.tl.pms.common.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 需求审核对象 biz_demand_approval
 *
 * @author ruoyi
 * @date 2025-04-09
 */
@TableName("biz_demand_approval")
public class DemandApproval extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 需求表id
     */
    @Excel(name = "需求表id")
    private Long demandId;

    /**
     * 状态编码
     */
    @Excel(name = "状态编码")
    private Long statusCode;

    /**
     * 数据共享
     */
    @Excel(name = "数据共享")
    private Long dataShareType;

    /**
     * 数据建设需求
     */
    @Excel(name = "数据建设需求")
    private String dataCreateDemand;

    /**
     * 不予共享原因
     */
    @Excel(name = "不予共享原因")
    private String noShareReason;

    /**
     * 决策依据
     */
    @Excel(name = "决策依据")
    private String decisionBasis;

    /**
     * 单位id
     */
    @Excel(name = "单位id")
    private Long deptId;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setDemandId(Long demandId) {
        this.demandId = demandId;
    }

    public Long getDemandId() {
        return demandId;
    }

    public void setStatusCode(Long statusCode) {
        this.statusCode = statusCode;
    }

    public Long getStatusCode() {
        return statusCode;
    }

    public void setDataShareType(Long dataShareType) {
        this.dataShareType = dataShareType;
    }

    public Long getDataShareType() {
        return dataShareType;
    }

    public void setDataCreateDemand(String dataCreateDemand) {
        this.dataCreateDemand = dataCreateDemand;
    }

    public String getDataCreateDemand() {
        return dataCreateDemand;
    }

    public void setNoShareReason(String noShareReason) {
        this.noShareReason = noShareReason;
    }

    public String getNoShareReason() {
        return noShareReason;
    }

    public void setDecisionBasis(String decisionBasis) {
        this.decisionBasis = decisionBasis;
    }

    public String getDecisionBasis() {
        return decisionBasis;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("demandId", getDemandId())
                .append("statusCode", getStatusCode())
                .append("dataShareType", getDataShareType())
                .append("dataCreateDemand", getDataCreateDemand())
                .append("noShareReason", getNoShareReason())
                .append("decisionBasis", getDecisionBasis())
                .append("remark", getRemark())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("createBy", getCreateBy())
                .append("updateBy", getUpdateBy())
                .append("deptId", getDeptId())
                .toString();
    }
}
